// #include <windows.h>

// // 窗口过程函数的声明
// LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

// int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
// {

//     const char * CLASS_NAME = "MyWindowClass";

//     // 注册窗口类
//     WNDCLASS wc = {};
//     wc.lpfnWndProc = WindowProcedure;
//     wc.hInstance = hInstance;
//     wc.lpszClassName = CLASS_NAME;
//     RegisterClass(&wc);

//     // 创建窗口
//     HWND hwnd = CreateWindowEx(
//         0,                                                          // 窗口扩展样式
//         CLASS_NAME,                                            // 窗口类名
//         "My Window",                                                // 窗口标题
//         WS_OVERLAPPEDWINDOW,                                        // 窗口样式
//         CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, // 初始位置和大小
//         NULL,                                                       // 无父窗口
//         NULL,                                                       // 无菜单栏
//         hInstance,                                                  // 应用程序实例句柄
//         NULL                                                        // 无额外的创建参数
//     );

//     if (hwnd == NULL)
//     {
//         return 0;
//     }

//     // 显示窗口
//     ShowWindow(hwnd, nCmdShow);

//     // 消息循环
//     MSG msg = {};
//     while (GetMessage(&msg, NULL, 0, 0) > 0)
//     {
//         TranslateMessage(&msg); // 将消息翻译为字符消息（如果有）
//         DispatchMessage(&msg);  // 分派消息到相应的窗口过程函数处理
//     }

//     return 0;
// }

// // 窗口过程函数实现
// LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
// {
//     switch (uMsg)
//     {
//     case WM_DESTROY:        // 当窗口被销毁时收到此消息
//         PostQuitMessage(0); // 退出消息循环并结束程序
//         break;
//     default: // 如果不是特殊消息，调用默认的窗口过程函数处理消息
//         return DefWindowProc(hwnd, uMsg, wParam, lParam);
//     }
//     return 0; // 返回值为0表示消息已处理，不会被丢弃或进一步处理。对于特殊消息（如WM_DESTROY）通常返回0。对于其他消息，返回值由DefWindowProc决定。
// }

